\subsection{FormulaDeDanioDeAtaque}
\begin{lstlisting}
Object subclass: #FormulaDeDanioDeAtaque
	instanceVariableNames: 'nivel ataque poder defensa multiplicadorPorTipo'
	classVariableNames: ''
	poolDictionaries: ''
	category: 'PLP-TP-POO'
\end{lstlisting}

\newpage
\subsubsection{Mensajes de Clase}
\textbf{para:} \textit{unNivel}\\
\textbf{usando:} \textit{unAtaque}\\ 
\textbf{con:} \textit{unPoder}\\
\textbf{contra:} \textit{unaDefensa}\\
\textbf{teniendoEnCuenta:} \textit{unMultiplicadorPorTipo}
\begin{lstlisting}
	self validarNoEsCero: unaDefensa.
	
	^self new 
		inicializarPara: unNivel 
		usando: unAtaque 
		con: unPoder 
		contra: unaDefensa 
		teniendoEnCuenta: unMultiplicadorPorTipo	
\end{lstlisting}

\bigskip

\textbf{validarNoEsCero::} \textit{unValor}
\begin{lstlisting}
	(unValor = 0) ifTrue: [self error: 'El valor de la defensa no puede ser cero']
\end{lstlisting}


\subsubsection{Mensajes de Instancia}
\textbf{inicializarPara:} \textit{unNivel}\\
\textbf{usando:} \textit{unAtaque}\\ 
\textbf{con:} \textit{unPoder}\\
\textbf{contra:} \textit{unaDefensa}\\
\textbf{teniendoEnCuenta:} \textit{unMultiplicadorPorTipo}
\begin{lstlisting}
	nivel := unNivel.
	ataque := unAtaque.
	poder := unPoder.
	defensa := unaDefensa.
	multiplicadorPorTipo := unMultiplicadorPorTipo 
\end{lstlisting}

\bigskip

\textbf{poderDeAtaque}
\begin{lstlisting}
	^(2 * nivel / 5 + 2 ) * ataque * poder 
\end{lstlisting}

\bigskip

\textbf{poderDeDefensa}
\begin{lstlisting}
	^defensa * 50
\end{lstlisting}

\bigskip

\textbf{value}
\begin{lstlisting}
	|tasaDanio|
	
	tasaDanio := self poderDeAtaque / self poderDeDefensa.
	 
	^tasaDanio + 2 * multiplicadorPorTipo 
\end{lstlisting}